Nowadays, a commercial GNSS receiver has become a popular device, a small, portable size and convenient for use. Such portable GNSS receiver must utilize a battery as a power supply thereof. Due to the limited charging capacity of generic batteries, reducing power consumption of the portable GNSS receiver for advancement of long running-time is a great topic for research and development of the commercial GNSS receiver.
A GNSS receiver usually comprises two main units or two software partitions those include a measure engine and a navigation engine. For example, the measure engine may comprise correlators and a DSP (Digital Signal Processor). The correlators perform correlations to signals from channels for searching and tracking respective satellites. The DSP calculates and adjusts code phases and Doppler frequencies for the signals received from the channels in turn and decodes data for the channels as well. Specifically, the calculations and adjustments of the DSP for all the channels have to be completely done in 1 millisecond and a measurement result of code chips, the code phase sand the Doppler frequencies is transmitted to the navigation engine usually in 1 second for a calculation of a GNSS user's position, velocity and time information. A microprocessor of a standalone solution or a host CPU in many host based application will be in charge of that calculation of the GNSS user's position, velocity and time information.
A clock generator generates a reference clock for an RF unit and a synthesizer of the GNSS receiver. The synthesizer receives the reference clock and provides a correlator clock for the correlator, a DSP clock for the DSP and a microprocessor clock for the microprocessor, respectively. The DSP controls the correlator clock and the DSP clock. The microprocessor controls the microprocessor clock.
According to prior arts, the GNSS receiver continuously receives signals from all channels. The correlator performs correlations to the signals from the all channels and the DSP calculates and adjusts code phases and Doppler frequencies for the signals from the all channels in turn. When the GNSS receiver performs searching and tracking of specific number of satellites, the power consumption of the GNSS receiver remains the same, no matter the size of search range of a lost satellite or signal strength variations of the satellites due to different channel blocking or channel fading. In some circumstances of the prior art, the correlator may stop performing correlations to some signals for any reason during aforesaid searching and tracking. Therefore, the number of channels that are actually in use may change, but all the hardware related clock frequencies (the correlator clock frequency, the DSP clock frequency and the microprocessor clock frequency) always keep the same during GNSS receiver operation.
However, the power consumption is proportional to the correlator clock frequency, the DSP clock frequency, and the microprocessor clock frequency. Keeping all clock frequencies the same without considering the variations will result in the power consumption of the GNSS receiver be reduced inefficiently.
According to prior arts, stopping or freezing aforesaid clock frequencies is necessary for the GNSS receiver for reducing power consumption by a user command or according to a correlator load of performing correlation. Consequently, Such as a drawback that the GNSS receiver can't work well under a big dynamic operation condition, for example, a sudden acceleration or deceleration or a drawback that a sudden channel fading or a channel blocking suddenly degrades performance of the GNSS receiver seriously is unavoidable.
Accordingly, the present invention provides a low power consumption GNSS receiver by adaptively adjusting clock frequency and method thereof.